package model;

public class Presa extends EstadoFantasma {

    public Presa() {
        setVelocidad(Constantes.VELOCIDAD_PRESA);
    }

    public Presa(EstadoFantasma estadoFantasmaAnterior){
		setEstadoFantasmaAnterior(estadoFantasmaAnterior);
        setVelocidad(Constantes.VELOCIDAD_PRESA);
    }
	
	@Override
    public boolean morir(Fantasma yoMismo) {
		Mensaje.getInstancia().notificar("Soy presa y me comiste");
       	yoMismo.setEstadoFantasma(new Muerto());
        return true;
    }

    @Override
    public boolean mover(Fantasma yoMismo) {
    	Mensaje.getInstancia().notificar("Soy presa y me escapo");
        return true;
    }

    @Override
    public boolean comer(Fantasma yoMismo) {
    	Mensaje.getInstancia().notificar("No puedo comer, soy presa");
        return false;
    }

    @Override
    public boolean molestar(Fantasma yoMismo) {
    	Mensaje.getInstancia().notificar("No puedo incrementar mi ira, soy presa");
        return false;
    }

    @Override
    public boolean reiniciarEstado(Fantasma yoMismo) {
    	Mensaje.getInstancia().notificar("Volvi a ser Cazador Normal, ya no soy Presa");
        yoMismo.setEstadoFantasma(new CazadorNormal());
        return true;
    }

    @Override
    public String mostrarEstado(Fantasma yoMismo) {
    	String s = Constantes.PRESA;
    	Mensaje.getInstancia().notificar("Soy Presa");
    	return s;
    }

    @Override
    public boolean convertirEnPresa(Fantasma yoMismo) {
    	Mensaje.getInstancia().notificar("Ya soy Presa");
        return false;
    }

	@Override
	public boolean isPresa() {
		return true;
	}
	
	@Override
	public boolean volverAestadoAnterior(Fantasma yoMismo){
		Mensaje.getInstancia().actualizarMensajePorValorAnterior();
		yoMismo.setEstadoFantasma(getEstadoFantasmaAnterior());
        return true;
	}



}
